$(function() {
    //返回顶部
    //再jq中,scrollTop是个方法,也是个属性
    $(window).scroll(function() {
        if ($('html,body').scrollTop() > 600) {
            $('#returnTop').css('display', 'block');
        }
    })
    $('#returnTop').click(function() {
            $('html,body').animate({
                scrollTop: 0
            }, 600)
        })
        //吸顶效果
    let headerTop = $('#header_menu').offset().top;
    $(window).scroll(function() {
        if ($('html,body').scrollTop() > headerTop) {
            $('#header_menu').css({
                position: 'fixed'
            })
        } else {
            $('#header_menu').css({
                position: 'relative'
            })
        }
    })




    //全选和反选功能
    $('.allcheck').click(function() {
        $('table input').prop('checked', $(this).prop('checked'));
        allCount();
    })

    $('tbody input').click(function() {
        if (!$('tbody input').prop('checked')) {
            $('.allcheck').prop('checked', false);
        }
    })

    //反选
    //单个input标签中,只要有一个未选中,全选按钮不能被选中
    //单个input标签中,全部被选中,全选按钮被选中
    //:checked过滤选择器
    $('.singlecheck').click(function() {
        if ($('.singlecheck:checked').length == $('.singlecheck').length) {
            $('.allcheck').prop('checked', true);
        } else {
            $('.allcheck').prop('checked', false);
        }
        allCount();
    })


    //标杆思想:假设一种状态,当满足某个条件时再切换到另一种状态
    /*   $('.singlecheck').click(function() {
          let flag = true;//假设单个input标签处于全被选中的状态
          $('.singlecheck').each(function(value, index) {
          //$(value)/$(this)
              if ($(this).prop('checked') == false) {
                  flag = false;//只要有一个单个input标签没有被选中,状态变为false
                  break;//优化性能
                }
          })

          $('.allcheck').prop('checked', flag);
      }) */



    //购买数量的增减
    $('tbody .addNum').click(function() {
        $(this).siblings('input').val(parseInt($(this).siblings('input').prop('value')) + 1);
        if ($(this).siblings('input').val() > 1) {
            $('tbody .minusNum').css({
                cursor: 'pointer'
            })
        }
        count($(this));
        //增加数量时,执行一遍总价格总数量
        allCount();
    })
    $('tbody .minusNum').click(function() {
        if ($(this).siblings('input').val() > 1) {
            $(this).siblings('input').val(parseInt($(this).siblings('input').val()) - 1);
        } else {
            $(this).css({
                cursor: 'not-allowed'
            })
        }
        count($(this));
        //减少数量时,执行一遍总价格总数量
        allCount();
    })

    //封装函数
    function count(obj) {
        let sprice = ($(obj).siblings('.goodsNum').val() * $(obj).closest('tr').find('.singlePrice').text()).toFixed(2);
        $(obj).closest('tr').find('.sumPrice').text(sprice);
    }

    //总价和总数量功能
    function allCount() {
        let totalPrice = 0; //定义总价格
        let totalNum = 0; //定义总数量
        $('.singlecheck:checked').each(function(v, i) {
            totalNum += parseInt($(this).closest('tr').find('.goodsNum').val());
            totalPrice += parseFloat($(this).closest('tr').find('.sumPrice').text());
        })
        $('.allNum').text(totalNum);
        $('.allPrice').text('￥' + totalPrice.toFixed(2));

    }
    $('.singleRemove').click(function() {
        if (confirm('确认删除？')) {
            $(this).closest('tr').detach();
            allCount();
        }
    })
    $('.allRemove').click(function() {
        if (confirm('确认删除？')) {
            $('.singlecheck:checked').closest('tr').detach();
            allCount();
        }
    })




})